/*
 * Grafo.h
 *
 *  Created on: 17/05/2014
 *      Author: jubuntu
 */

#ifndef GRAFO_H_
#define GRAFO_H_
#include <vector>
#include "Nodo.h"
#include <iostream>

#define FILAS_INICIALES 8
#define COLUMNAS_INICIALES 256
#define MINIMO_PARA_CLONAR_1 2
#define MINIMO_PARA_CLONAR_2 2
#define RELACION_CLONACION 2

typedef std::vector<Nodo*> VectorNodos;
typedef std::vector<VectorNodos*> MatrizNodos;

class Grafo{
public:

	VectorNodos* vectorClonados;
	MatrizNodos* matrizDeNodos;

	Nodo* nodoActual;
	Nodo* nodoSgte;

	Grafo();
	~Grafo();

	void avanzarConCero();
	void avanzarConUno();


	void clonoSiNecesario();
	void clonar();
};


#endif /* GRAFO_H_ */
